﻿Public Class DseparacionVentaDetallePagos

    Public Shared Function SeleccionarTodo(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetallePagos)
        Dim separacionVentaPagos As List(Of EseparacionVentaDetallePagos) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetallePagos_sel", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVenta.idSeparacionVenta
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            separacionVentaPagos = New List(Of EseparacionVentaDetallePagos)
                            Dim separacionVentaPago As EseparacionVentaDetallePagos = Nothing
                            Do While dr.Read
                                separacionVentaPago = New EseparacionVentaDetallePagos( _
                                    dr.GetInt32(dr.GetOrdinal("idProyecto")), _
                                    dr.GetInt32(dr.GetOrdinal("idEtapa")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionventaPagos")), _
                                    dr.GetInt32(dr.GetOrdinal("idEdiMzn")), _
                                    dr.GetInt32(dr.GetOrdinal("idModelo")), _
                                    dr.GetInt32(dr.GetOrdinal("idUndInmob")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("fchPago")), _
                                    dr.GetInt32(dr.GetOrdinal("idFormaPago")), _
                                    dr.GetDecimal(dr.GetOrdinal("montoPago")), _
                                    dr.GetInt32(dr.GetOrdinal("idMoneda")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoCambio")), _
                                    dr.GetString(dr.GetOrdinal("conInteres")), _
                                    dr.GetDecimal(dr.GetOrdinal("tea")), _
                                    dr.GetDecimal(dr.GetOrdinal("tim")), _
                                    dr.GetInt32(dr.GetOrdinal("correlativo")), _
                                    dr.GetString(dr.GetOrdinal("fchCancelacion")), _
                                    dr.GetInt32(dr.GetOrdinal("idMotivo")), _
                                    dr.GetDecimal(dr.GetOrdinal("amortizacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("interes")), _
                                    dr.GetDecimal(dr.GetOrdinal("cuota")), _
                                    dr.GetDecimal(dr.GetOrdinal("saldo")), _
                                    dr.GetInt32(dr.GetOrdinal("estadoPago")), _
                                    dr.GetInt32(dr.GetOrdinal("idEntidadFin")), _
                                    dr.GetString(dr.GetOrdinal("agencia")), _
                                    dr.GetString(dr.GetOrdinal("sectorista")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeguimiento")), _
                                    dr.GetString(dr.GetOrdinal("telefono")), _
                                    dr.GetString(dr.GetOrdinal("observacion")), _
                                    dr.GetInt32(dr.GetOrdinal("idCuenta")), _
                                    dr.GetString(dr.GetOrdinal("nroCuenta")), _
                                    dr.GetString(dr.GetOrdinal("vouchet")), _
                                    dr.GetString(dr.GetOrdinal("rutaScanner")), _
                                    dr.GetInt32(dr.GetOrdinal("estadoCta")))
                                separacionVentaPagos.Add(separacionVentaPago)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return separacionVentaPagos
    End Function
    Public Shared Function AñadirSeparacion(ByVal descEmpresa As String, ByVal pSeparacionVentaDetallePagos As EseparacionVentaDetallePagos) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetallePagos_addSeparacion", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeparacionVenta
                cmd.Parameters.Add("@idEdificio", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEdificio
                cmd.Parameters.Add("@idModelo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idModelo
                cmd.Parameters.Add("@idUndInmob", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUndInmob
                cmd.Parameters.Add("@idTpoInmueble", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idTpoInmueble

                cmd.Parameters.Add("@fchPago", SqlDbType.Char, 10).Value = pSeparacionVentaDetallePagos.fchPago
                cmd.Parameters.Add("@idFormaPago", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idFormaPago
                cmd.Parameters.Add("@montoPago", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.montoPago
                cmd.Parameters.Add("@conInteres", SqlDbType.Char, 1).Value = pSeparacionVentaDetallePagos.conInteres
                cmd.Parameters.Add("@tea", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.tea
                cmd.Parameters.Add("@tim", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.tim
                cmd.Parameters.Add("@correlativo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.correlativo
                cmd.Parameters.Add("@fchCancelacion", SqlDbType.Char, 10).Value = pSeparacionVentaDetallePagos.fchCancelacion
                cmd.Parameters.Add("@idMotivo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idMotivo
                cmd.Parameters.Add("@amortizacion", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.amortizacion
                cmd.Parameters.Add("@interes", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.interes
                cmd.Parameters.Add("@cuota", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.cuota
                cmd.Parameters.Add("@saldo", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.saldo
                cmd.Parameters.Add("@estadoPago", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEstadoPago
                cmd.Parameters.Add("@idEntidadFin", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEntidadFin
                cmd.Parameters.Add("@agencia", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.agencia
                cmd.Parameters.Add("@sectorista", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.sectorista
                cmd.Parameters.Add("@idSeguimiento", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeguimiento
                cmd.Parameters.Add("@telefono", SqlDbType.Char, 11).Value = pSeparacionVentaDetallePagos.telefono
                cmd.Parameters.Add("@observacion", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.observacion

                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUsuario
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function
    Public Shared Function AñadirVenta(ByVal descEmpresa As String, ByVal pSeparacionVentaDetallePagos As EseparacionVentaDetallePagos) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetallePagos_addVenta", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeparacionVenta
                cmd.Parameters.Add("@idEdificio", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEdificio
                cmd.Parameters.Add("@idModelo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idModelo
                cmd.Parameters.Add("@idUndInmob", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUndInmob
                cmd.Parameters.Add("@idTpoInmueble", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idTpoInmueble

                cmd.Parameters.Add("@fchPago", SqlDbType.Char, 10).Value = pSeparacionVentaDetallePagos.fchPago
                cmd.Parameters.Add("@idFormaPago", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idFormaPago
                cmd.Parameters.Add("@montoPago", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.montoPago
                cmd.Parameters.Add("@conInteres", SqlDbType.Char, 1).Value = pSeparacionVentaDetallePagos.conInteres
                cmd.Parameters.Add("@tea", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.tea
                cmd.Parameters.Add("@tim", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.tim
                cmd.Parameters.Add("@correlativo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.correlativo
                cmd.Parameters.Add("@fchCancelacion", SqlDbType.Char, 10).Value = pSeparacionVentaDetallePagos.fchCancelacion
                cmd.Parameters.Add("@idMotivo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idMotivo
                cmd.Parameters.Add("@amortizacion", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.amortizacion
                cmd.Parameters.Add("@interes", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.interes
                cmd.Parameters.Add("@cuota", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.cuota
                cmd.Parameters.Add("@saldo", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.saldo
                cmd.Parameters.Add("@estadoPago", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEstadoPago
                cmd.Parameters.Add("@idEntidadFin", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEntidadFin
                cmd.Parameters.Add("@agencia", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.agencia
                cmd.Parameters.Add("@sectorista", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.sectorista
                cmd.Parameters.Add("@idSeguimiento", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeguimiento
                cmd.Parameters.Add("@telefono", SqlDbType.Char, 11).Value = pSeparacionVentaDetallePagos.telefono
                cmd.Parameters.Add("@observacion", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.observacion

                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUsuario
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function
    Public Shared Function Añadir(ByVal descEmpresa As String, ByVal pSeparacionVentaDetallePagos As EseparacionVentaDetallePagos) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetallePagos_add", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeparacionVenta
                cmd.Parameters.Add("@tpoGestion", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.tpoGestion
                cmd.Parameters.Add("@idEdificio", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEdificio
                cmd.Parameters.Add("@idModelo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idModelo
                cmd.Parameters.Add("@idUndInmob", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUndInmob
                cmd.Parameters.Add("@idTpoInmueble", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idTpoInmueble

                cmd.Parameters.Add("@fchPago", SqlDbType.Char, 10).Value = pSeparacionVentaDetallePagos.fchPago
                cmd.Parameters.Add("@idFormaPago", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idFormaPago
                cmd.Parameters.Add("@montoPago", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.montoPago
                cmd.Parameters.Add("@conInteres", SqlDbType.Char, 1).Value = pSeparacionVentaDetallePagos.conInteres
                cmd.Parameters.Add("@tea", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.tea
                cmd.Parameters.Add("@tim", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.tim
                cmd.Parameters.Add("@correlativo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.correlativo
                cmd.Parameters.Add("@fchCancelacion", SqlDbType.Char, 10).Value = pSeparacionVentaDetallePagos.fchCancelacion
                cmd.Parameters.Add("@idMotivo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idMotivo
                cmd.Parameters.Add("@amortizacion", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.amortizacion
                cmd.Parameters.Add("@interes", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.interes
                cmd.Parameters.Add("@cuota", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.cuota
                cmd.Parameters.Add("@saldo", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.saldo
                cmd.Parameters.Add("@estadoPago", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEstadoPago
                cmd.Parameters.Add("@idEntidadFin", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEntidadFin
                cmd.Parameters.Add("@agencia", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.agencia
                cmd.Parameters.Add("@sectorista", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.sectorista
                cmd.Parameters.Add("@idSeguimiento", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeguimiento
                cmd.Parameters.Add("@telefono", SqlDbType.Char, 11).Value = pSeparacionVentaDetallePagos.telefono
                cmd.Parameters.Add("@observacion", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.observacion

                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUsuario
                cmd.Parameters.Add("@Letra", SqlDbType.VarChar, 20).Value = pSeparacionVentaDetallePagos.Letra
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function
    Public Shared Function Eliminar(ByVal descEmpresa As String, ByVal pSeparacionVentaDetallePagos As EseparacionVentaDetallePagos) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetallePagos_del", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeparacionVenta
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUsuario
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function

    Public Shared Function SeleccionarTodoTemporal(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetallePagos)
        Dim separacionVentaPagos As List(Of EseparacionVentaDetallePagos) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetallePagosTemp_sel", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVenta.idSeparacionVenta
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            separacionVentaPagos = New List(Of EseparacionVentaDetallePagos)
                            Dim separacionVentaPago As EseparacionVentaDetallePagos = Nothing
                            Do While dr.Read
                                separacionVentaPago = New EseparacionVentaDetallePagos( _
                                    dr.GetInt32(dr.GetOrdinal("idProyecto")), _
                                    dr.GetInt32(dr.GetOrdinal("idEtapa")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionventaPagos")), _
                                    dr.GetInt32(dr.GetOrdinal("idEdiMzn")), _
                                    dr.GetInt32(dr.GetOrdinal("idModelo")), _
                                    dr.GetInt32(dr.GetOrdinal("idUndInmob")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoInmueble")), _
                                    dr.GetString(dr.GetOrdinal("fchPago")), _
                                    dr.GetInt32(dr.GetOrdinal("idFormaPago")), _
                                    dr.GetDecimal(dr.GetOrdinal("montoPago")), _
                                    dr.GetInt32(dr.GetOrdinal("idMoneda")), _
                                    dr.GetInt32(dr.GetOrdinal("idTpoCambio")), _
                                    dr.GetString(dr.GetOrdinal("conInteres")), _
                                    dr.GetDecimal(dr.GetOrdinal("tea")), _
                                    dr.GetDecimal(dr.GetOrdinal("tim")), _
                                    dr.GetInt32(dr.GetOrdinal("correlativo")), _
                                    dr.GetString(dr.GetOrdinal("fchCancelacion")), _
                                    dr.GetInt32(dr.GetOrdinal("idMotivo")), _
                                    dr.GetDecimal(dr.GetOrdinal("amortizacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("interes")), _
                                    dr.GetDecimal(dr.GetOrdinal("cuota")), _
                                    dr.GetDecimal(dr.GetOrdinal("saldo")), _
                                    dr.GetInt32(dr.GetOrdinal("estadoPago")), _
                                    dr.GetInt32(dr.GetOrdinal("idEntidadFin")), _
                                    dr.GetString(dr.GetOrdinal("agencia")), _
                                    dr.GetString(dr.GetOrdinal("sectorista")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeguimiento")), _
                                    dr.GetString(dr.GetOrdinal("telefono")), _
                                    dr.GetString(dr.GetOrdinal("observacion")), _
                                    dr.GetInt32(dr.GetOrdinal("idCuenta")), _
                                    dr.GetString(dr.GetOrdinal("nroCuenta")), _
                                    dr.GetString(dr.GetOrdinal("vouchet")), _
                                    dr.GetString(dr.GetOrdinal("rutaScanner")), _
                                    dr.GetInt32(dr.GetOrdinal("estadoCta")))
                                separacionVentaPagos.Add(separacionVentaPago)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return separacionVentaPagos
    End Function
    Public Shared Function AñadirSeparacionTemporal(ByVal descEmpresa As String, ByVal pSeparacionVentaDetallePagos As EseparacionVentaDetallePagos) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetallePagosTemp_addSeparacion", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeparacionVenta
                cmd.Parameters.Add("@idEdificio", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEdificio
                cmd.Parameters.Add("@idModelo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idModelo
                cmd.Parameters.Add("@idUndInmob", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUndInmob
                cmd.Parameters.Add("@idTpoInmueble", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idTpoInmueble

                cmd.Parameters.Add("@fchPago", SqlDbType.Char, 10).Value = pSeparacionVentaDetallePagos.fchPago
                cmd.Parameters.Add("@idFormaPago", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idFormaPago
                cmd.Parameters.Add("@montoPago", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.montoPago
                cmd.Parameters.Add("@conInteres", SqlDbType.Char, 1).Value = pSeparacionVentaDetallePagos.conInteres
                cmd.Parameters.Add("@tea", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.tea
                cmd.Parameters.Add("@tim", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.tim
                cmd.Parameters.Add("@correlativo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.correlativo
                cmd.Parameters.Add("@fchCancelacion", SqlDbType.Char, 10).Value = pSeparacionVentaDetallePagos.fchCancelacion
                cmd.Parameters.Add("@idMotivo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idMotivo
                cmd.Parameters.Add("@amortizacion", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.amortizacion
                cmd.Parameters.Add("@interes", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.interes
                cmd.Parameters.Add("@cuota", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.cuota
                cmd.Parameters.Add("@saldo", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.saldo
                cmd.Parameters.Add("@estadoPago", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEstadoPago
                cmd.Parameters.Add("@idEntidadFin", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEntidadFin
                cmd.Parameters.Add("@agencia", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.agencia
                cmd.Parameters.Add("@sectorista", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.sectorista
                cmd.Parameters.Add("@idSeguimiento", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeguimiento
                cmd.Parameters.Add("@telefono", SqlDbType.Char, 11).Value = pSeparacionVentaDetallePagos.telefono
                cmd.Parameters.Add("@observacion", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.observacion

                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUsuario
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function
    Public Shared Function AñadirVentaTemporal(ByVal descEmpresa As String, ByVal pSeparacionVentaDetallePagos As EseparacionVentaDetallePagos) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetallePagosTemp_addVenta", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeparacionVenta
                cmd.Parameters.Add("@idEdificio", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEdificio
                cmd.Parameters.Add("@idModelo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idModelo
                cmd.Parameters.Add("@idUndInmob", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUndInmob
                cmd.Parameters.Add("@idTpoInmueble", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idTpoInmueble
                cmd.Parameters.Add("@fchPago", SqlDbType.Char, 10).Value = pSeparacionVentaDetallePagos.fchPago
                cmd.Parameters.Add("@idFormaPago", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idFormaPago
                cmd.Parameters.Add("@montoPago", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.montoPago
                cmd.Parameters.Add("@conInteres", SqlDbType.Char, 1).Value = pSeparacionVentaDetallePagos.conInteres
                cmd.Parameters.Add("@tea", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.tea
                cmd.Parameters.Add("@tim", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.tim
                cmd.Parameters.Add("@correlativo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.correlativo
                cmd.Parameters.Add("@fchCancelacion", SqlDbType.Char, 10).Value = pSeparacionVentaDetallePagos.fchCancelacion
                cmd.Parameters.Add("@idMotivo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idMotivo
                cmd.Parameters.Add("@amortizacion", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.amortizacion
                cmd.Parameters.Add("@interes", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.interes
                cmd.Parameters.Add("@cuota", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.cuota
                cmd.Parameters.Add("@saldo", SqlDbType.Decimal, 15, 2).Value = pSeparacionVentaDetallePagos.saldo
                cmd.Parameters.Add("@estadoPago", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEstadoPago
                cmd.Parameters.Add("@idEntidadFin", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEntidadFin
                cmd.Parameters.Add("@agencia", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.agencia
                cmd.Parameters.Add("@sectorista", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.sectorista
                cmd.Parameters.Add("@idSeguimiento", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeguimiento
                cmd.Parameters.Add("@telefono", SqlDbType.Char, 11).Value = pSeparacionVentaDetallePagos.telefono
                cmd.Parameters.Add("@observacion", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.observacion
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUsuario
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function
    Public Shared Function Verificar(ByVal descEmpresa As String, ByVal Aprobar As String, ByVal Observacion As String, ByVal Usuario As Int32, ByVal idSeparacionVenta As Int32, ByVal idEtapa As Int32, ByVal idProyecto As Int32, ByVal Correlativo As Int32, ByVal EstadoPago As Int32, ByVal tpoGestion As Int32, ByVal idMotivo As Int32) As Boolean
        Dim resultado As Boolean = False
        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_cobranzaVerificar_upd", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@Aprobar", SqlDbType.VarChar, 1).Value = Aprobar
                cmd.Parameters.Add("@Observacion", SqlDbType.VarChar, 55).Value = Observacion
                cmd.Parameters.Add("@Usuario", SqlDbType.Int).Value = Usuario
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = idSeparacionVenta
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = idEtapa
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = idProyecto
                cmd.Parameters.Add("@Correlativo", SqlDbType.Int).Value = Correlativo
                cmd.Parameters.Add("@EstadoPago", SqlDbType.Int).Value = EstadoPago
                cmd.Parameters.Add("@tpoGestion", SqlDbType.Int).Value = tpoGestion
                cmd.Parameters.Add("@idMotivo", SqlDbType.Int).Value = idMotivo
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function

    Public Shared Function EliminarTemporal(ByVal descEmpresa As String, ByVal pSeparacionVentaDetallePagos As EseparacionVentaDetallePagos) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetallePagosTemp_del", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeparacionVenta
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUsuario
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function

    '-------   MENU COBRANZA  ------------'
    Public Shared Function SeleccionarXCobranzaDetalle(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetallePagos)
        Dim cobranzas As List(Of EseparacionVentaDetallePagos) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_cobranzaDetalle_sel", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                cmd.Parameters.Add("@nroDocumento", SqlDbType.Char, 11).Value = pSeparacionVenta.nroDocumento
                cmd.Parameters.Add("@codigoSeparacion", SqlDbType.Char, 11).Value = pSeparacionVenta.codigoSeparacion
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            cobranzas = New List(Of EseparacionVentaDetallePagos)
                            Dim cobranza As EseparacionVentaDetallePagos = Nothing
                            Do While dr.Read
                                cobranza = New EseparacionVentaDetallePagos( _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionventaPagos")), _
                                    dr.GetInt32(dr.GetOrdinal("tpoGestion")), _
                                    dr.GetInt32(dr.GetOrdinal("idMotivo")), _
                                    dr.GetString(dr.GetOrdinal("descMotivo")), _
                                    dr.GetString(dr.GetOrdinal("fchPago")), _
                                    dr.GetInt32(dr.GetOrdinal("correlativo")), _
                                    dr.GetString(dr.GetOrdinal("fchCancelacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("montoPago")), _
                                    dr.GetDecimal(dr.GetOrdinal("cuota")), _
                                    dr.GetInt32(dr.GetOrdinal("idMoneda")), _
                                    dr.GetInt32(dr.GetOrdinal("idFormaPago")), _
                                    dr.GetString(dr.GetOrdinal("descFormaPago")), _
                                    dr.GetString(dr.GetOrdinal("nroDocumento")), _
                                    dr.GetInt32(dr.GetOrdinal("idEntidadFin")), _
                                    dr.GetString(dr.GetOrdinal("descEntidadFin")), _
                                    dr.GetInt32(dr.GetOrdinal("idCuenta")), _
                                    dr.GetString(dr.GetOrdinal("nroCuenta")), _
                                    dr.GetString(dr.GetOrdinal("vouchet")), _
                                    dr.GetString(dr.GetOrdinal("rutaScanner")), _
                                    dr.GetString(dr.GetOrdinal("observacion")), _
                                    dr.GetInt32(dr.GetOrdinal("estadoPago")), _
                                    dr.GetString(dr.GetOrdinal("descEstadoPago")), _
                                    dr.GetString(dr.GetOrdinal("Verificado")), _
                                    dr.GetString(dr.GetOrdinal("Sucursal")), _
                                    dr.GetString(dr.GetOrdinal("Letra")), _
                                    dr.GetString(dr.GetOrdinal("NroCorrelativo")), _
                                    dr.GetString(dr.GetOrdinal("EntidadFinCliente")))
                                cobranzas.Add(cobranza)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return cobranzas
    End Function
    Public Shared Function SeleccionarXCobranzaDetalle2(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetallePagos)
        Dim cobranzas As List(Of EseparacionVentaDetallePagos) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_cobranzaDetalle_sel2", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                cmd.Parameters.Add("@idSeparacion", SqlDbType.Int).Value = pSeparacionVenta.idSeparacionVenta
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            cobranzas = New List(Of EseparacionVentaDetallePagos)
                            Dim cobranza As EseparacionVentaDetallePagos = Nothing
                            Do While dr.Read
                                cobranza = New EseparacionVentaDetallePagos( _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionventaPagos")), _
                                    dr.GetInt32(dr.GetOrdinal("tpoGestion")), _
                                    dr.GetInt32(dr.GetOrdinal("idMotivo")), _
                                    dr.GetString(dr.GetOrdinal("descMotivo")), _
                                    dr.GetString(dr.GetOrdinal("fchPago")), _
                                    dr.GetInt32(dr.GetOrdinal("correlativo")), _
                                    dr.GetString(dr.GetOrdinal("fchCancelacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("montoPago")), _
                                    dr.GetDecimal(dr.GetOrdinal("cuota")), _
                                    dr.GetInt32(dr.GetOrdinal("idMoneda")), _
                                    dr.GetInt32(dr.GetOrdinal("idFormaPago")), _
                                    dr.GetString(dr.GetOrdinal("descFormaPago")), _
                                    dr.GetString(dr.GetOrdinal("nroDocumento")), _
                                    dr.GetInt32(dr.GetOrdinal("idEntidadFin")), _
                                    dr.GetString(dr.GetOrdinal("descEntidadFin")), _
                                    dr.GetInt32(dr.GetOrdinal("idCuenta")), _
                                    dr.GetString(dr.GetOrdinal("nroCuenta")), _
                                    dr.GetString(dr.GetOrdinal("vouchet")), _
                                    dr.GetString(dr.GetOrdinal("rutaScanner")), _
                                    dr.GetString(dr.GetOrdinal("observacion")), _
                                    dr.GetInt32(dr.GetOrdinal("estadoPago")), _
                                    dr.GetString(dr.GetOrdinal("descEstadoPago")), _
                                    dr.GetString(dr.GetOrdinal("Verificado")))
                                cobranzas.Add(cobranza)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return cobranzas
    End Function
    Public Shared Function SeleccionarXPendientePagosDetalle(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetallePagos)
        Dim cobranzas As List(Of EseparacionVentaDetallePagos) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_pendientePagosDetalle_rpt", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                cmd.Parameters.Add("@fchInicio", SqlDbType.Char, 10).Value = pSeparacionVenta.fchInicio
                cmd.Parameters.Add("@fchFin", SqlDbType.Char, 10).Value = pSeparacionVenta.fchFin
                cmd.Parameters.Add("@idVendedor", SqlDbType.Int).Value = pSeparacionVenta.idVendedor
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            cobranzas = New List(Of EseparacionVentaDetallePagos)
                            Dim cobranza As EseparacionVentaDetallePagos = Nothing
                            Do While dr.Read
                                cobranza = New EseparacionVentaDetallePagos( _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionventaPagos")), _
                                    dr.GetInt32(dr.GetOrdinal("tpoGestion")), _
                                    dr.GetInt32(dr.GetOrdinal("idMotivo")), _
                                    dr.GetString(dr.GetOrdinal("descMotivo")), _
                                    dr.GetString(dr.GetOrdinal("fchPago")), _
                                    dr.GetInt32(dr.GetOrdinal("correlativo")), _
                                    dr.GetString(dr.GetOrdinal("fchCancelacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("montoPago")), _
                                    dr.GetDecimal(dr.GetOrdinal("cuota")), _
                                    dr.GetInt32(dr.GetOrdinal("idMoneda")), _
                                    dr.GetInt32(dr.GetOrdinal("idFormaPago")), _
                                    dr.GetString(dr.GetOrdinal("descFormaPago")), _
                                    dr.GetString(dr.GetOrdinal("nroDocumento")), _
                                    dr.GetInt32(dr.GetOrdinal("idEntidadFin")), _
                                    dr.GetString(dr.GetOrdinal("descEntidadFin")), _
                                    dr.GetInt32(dr.GetOrdinal("idCuenta")), _
                                    dr.GetString(dr.GetOrdinal("nroCuenta")), _
                                    dr.GetString(dr.GetOrdinal("vouchet")), _
                                    dr.GetString(dr.GetOrdinal("rutaScanner")), _
                                    dr.GetString(dr.GetOrdinal("observacion")), _
                                    dr.GetInt32(dr.GetOrdinal("estadoPago")), _
                                    dr.GetString(dr.GetOrdinal("descEstadoPago")))
                                cobranzas.Add(cobranza)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return cobranzas
    End Function
    Public Shared Function SeleccionarTodoPendientePagos(ByVal descEmpresa As String, ByVal idProyecto As Int32, ByVal wNombre As String, ByVal wDocumento As String) As List(Of EseparacionVentaDetallePagos)
        Dim cobranzas As List(Of EseparacionVentaDetallePagos) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_cobranzaVerificar_sel", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = idProyecto
                cmd.Parameters.Add("@nombre", SqlDbType.VarChar, 55).Value = wNombre
                cmd.Parameters.Add("@documento", SqlDbType.Char, 11).Value = wDocumento
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            cobranzas = New List(Of EseparacionVentaDetallePagos)
                            Dim cobranza As EseparacionVentaDetallePagos = Nothing
                            Do While dr.Read
                                cobranza = New EseparacionVentaDetallePagos( _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idEtapa")), _
                                    dr.GetInt32(dr.GetOrdinal("idProyecto")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVentaPagos")), _
                                    dr.GetString(dr.GetOrdinal("cliente")), _
                                    dr.GetString(dr.GetOrdinal("Inmueble")), _
                                    dr.GetInt32(dr.GetOrdinal("idMotivo")), _
                                    dr.GetString(dr.GetOrdinal("descMotivo")), _
                                    dr.GetString(dr.GetOrdinal("fchPago")), _
                                    dr.GetInt32(dr.GetOrdinal("correlativo")), _
                                    dr.GetString(dr.GetOrdinal("fchCancelacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("montoPago")), _
                                    dr.GetDecimal(dr.GetOrdinal("cuota")), _
                                    dr.GetInt32(dr.GetOrdinal("idMoneda")), _
                                    dr.GetInt32(dr.GetOrdinal("idFormaPago")), _
                                    dr.GetString(dr.GetOrdinal("descFormaPago")), _
                                    dr.GetString(dr.GetOrdinal("nroDocumento")), _
                                    dr.GetInt32(dr.GetOrdinal("idEntidadFin")), _
                                    dr.GetString(dr.GetOrdinal("descEntidadFin")), _
                                    dr.GetInt32(dr.GetOrdinal("idCuenta")), _
                                    dr.GetString(dr.GetOrdinal("nroCuenta")), _
                                    dr.GetString(dr.GetOrdinal("vouchet")), _
                                    dr.GetString(dr.GetOrdinal("rutaScanner")), _
                                    dr.GetString(dr.GetOrdinal("observacion")), _
                                    dr.GetInt32(dr.GetOrdinal("estadoPago")), _
                                    dr.GetString(dr.GetOrdinal("descEstadoPago")), _
                                    dr.GetString(dr.GetOrdinal("Verificado")), _
                                    dr.GetInt32(dr.GetOrdinal("tpoGestion")), _
                                    dr.GetString(dr.GetOrdinal("emailVendedor")), _
                                    dr.GetString(dr.GetOrdinal("nroDocumentoI")))
                                cobranzas.Add(cobranza)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return cobranzas
    End Function
    Public Shared Function SeleccionarXIngresosDepositoDetalle(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetallePagos)
        Dim cobranzas As List(Of EseparacionVentaDetallePagos) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_ingresosXDepositoDetalle_rpt", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                cmd.Parameters.Add("@fchInicio", SqlDbType.Char, 10).Value = pSeparacionVenta.fchInicio
                cmd.Parameters.Add("@fchFin", SqlDbType.Char, 10).Value = pSeparacionVenta.fchFin
                cmd.Parameters.Add("@idVendedor", SqlDbType.Int).Value = pSeparacionVenta.idVendedor
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            cobranzas = New List(Of EseparacionVentaDetallePagos)
                            Dim cobranza As EseparacionVentaDetallePagos = Nothing
                            Do While dr.Read
                                cobranza = New EseparacionVentaDetallePagos( _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionventaPagos")), _
                                    dr.GetInt32(dr.GetOrdinal("tpoGestion")), _
                                    dr.GetInt32(dr.GetOrdinal("idMotivo")), _
                                    dr.GetString(dr.GetOrdinal("descMotivo")), _
                                    dr.GetString(dr.GetOrdinal("fchPago")), _
                                    dr.GetInt32(dr.GetOrdinal("correlativo")), _
                                    dr.GetString(dr.GetOrdinal("fchCancelacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("montoPago")), _
                                    dr.GetDecimal(dr.GetOrdinal("cuota")), _
                                    dr.GetInt32(dr.GetOrdinal("idMoneda")), _
                                    dr.GetInt32(dr.GetOrdinal("idFormaPago")), _
                                    dr.GetString(dr.GetOrdinal("descFormaPago")), _
                                    dr.GetString(dr.GetOrdinal("nroDocumento")), _
                                    dr.GetInt32(dr.GetOrdinal("idEntidadFin")), _
                                    dr.GetString(dr.GetOrdinal("descEntidadFin")), _
                                    dr.GetInt32(dr.GetOrdinal("idCuenta")), _
                                    dr.GetString(dr.GetOrdinal("nroCuenta")), _
                                    dr.GetString(dr.GetOrdinal("vouchet")), _
                                    dr.GetString(dr.GetOrdinal("rutaScanner")), _
                                    dr.GetString(dr.GetOrdinal("observacion")), _
                                    dr.GetInt32(dr.GetOrdinal("estadoPago")), _
                                    dr.GetString(dr.GetOrdinal("descEstadoPago")))
                                cobranzas.Add(cobranza)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return cobranzas
    End Function
    Public Shared Function cobranzaDetallePagoEdit(ByVal descEmpresa As String, ByVal pSeparacionVentaDetallePagos As EseparacionVentaDetallePagos) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_cobranzaDetallePago_edit", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeparacionVenta
                cmd.Parameters.Add("@idSeparacionVentaPagos", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeparacionVentaPago
                cmd.Parameters.Add("@fchCancelacion", SqlDbType.Char, 10).Value = pSeparacionVentaDetallePagos.fchCancelacion
                cmd.Parameters.Add("@idMoneda", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idMoneda
                cmd.Parameters.Add("@idFormaPago", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idFormaPago
                cmd.Parameters.Add("@nroDocumento", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.nroDocumento
                cmd.Parameters.Add("@idEntidadFin", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEntidadFin
                cmd.Parameters.Add("@idCuenta", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idCuenta
                cmd.Parameters.Add("@nroCuenta", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.nroCuenta
                cmd.Parameters.Add("@vouchet", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.vouchet
                cmd.Parameters.Add("@rutaScanner", SqlDbType.VarChar, 200).Value = pSeparacionVentaDetallePagos.rutaScanner
                cmd.Parameters.Add("@estadoPago", SqlDbType.VarChar, 55).Value = pSeparacionVentaDetallePagos.idEstadoPago
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUsuario
                cmd.Parameters.Add("@Sucursal", SqlDbType.VarChar, 50).Value = pSeparacionVentaDetallePagos.Sucursal
                cmd.Parameters.Add("@Letra", SqlDbType.VarChar, 20).Value = pSeparacionVentaDetallePagos.Letra
                cmd.Parameters.Add("@idMotivo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idMotivo
                cmd.Parameters.Add("@NroCorrelativo", SqlDbType.VarChar, 10).Value = pSeparacionVentaDetallePagos.NroCorrelativo
                cmd.Parameters.Add("@EntidadFinCliente", SqlDbType.VarChar, 50).Value = pSeparacionVentaDetallePagos.EntidadFinCliente
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function
    Public Shared Function cobranzaDetallePagoFileScan(ByVal descEmpresa As String, ByVal pSeparacionVentaDetallePagos As EseparacionVentaDetallePagos) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_cobranzaDetallePago_editXFileScan", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeparacionVenta
                cmd.Parameters.Add("@idSeparacionVentaPagos", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeparacionVentaPago
                cmd.Parameters.Add("@rutaScanner", SqlDbType.VarChar, 200).Value = pSeparacionVentaDetallePagos.rutaScanner
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUsuario
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function

    '-------   MENU REPORTE  ----------------'
    Public Shared Function SeleccionarXPendientePagosDetalleConsolidado(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetallePagos)
        Dim cobranzas As List(Of EseparacionVentaDetallePagos) = Nothing

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_pendientePagosDetalle_rptConsolidado", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                'cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                cmd.Parameters.Add("@fchInicio", SqlDbType.Char, 10).Value = pSeparacionVenta.fchInicio
                cmd.Parameters.Add("@fchFin", SqlDbType.Char, 10).Value = pSeparacionVenta.fchFin
                'cmd.Parameters.Add("@idVendedor", SqlDbType.Int).Value = pSeparacionVenta.idVendedor
                cmd.Parameters.Add("@tpoGestion", SqlDbType.Int).Value = pSeparacionVenta.idVendedor
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            cobranzas = New List(Of EseparacionVentaDetallePagos)
                            Dim cobranza As EseparacionVentaDetallePagos = Nothing
                            Do While dr.Read
                                cobranza = New EseparacionVentaDetallePagos( _
                                    dr.GetInt32(dr.GetOrdinal("idProyecto")), _
                                    dr.GetInt32(dr.GetOrdinal("idEtapa")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                    dr.GetInt32(dr.GetOrdinal("idSeparacionventaPagos")), _
                                    dr.GetInt32(dr.GetOrdinal("tpoGestion")), _
                                    dr.GetInt32(dr.GetOrdinal("idMotivo")), _
                                    dr.GetString(dr.GetOrdinal("descMotivo")), _
                                    dr.GetString(dr.GetOrdinal("fchPago")), _
                                    dr.GetInt32(dr.GetOrdinal("correlativo")), _
                                    dr.GetString(dr.GetOrdinal("fchCancelacion")), _
                                    dr.GetDecimal(dr.GetOrdinal("montoPago")), _
                                    dr.GetDecimal(dr.GetOrdinal("cuota")), _
                                    dr.GetInt32(dr.GetOrdinal("idMoneda")), _
                                    dr.GetInt32(dr.GetOrdinal("idFormaPago")), _
                                    dr.GetString(dr.GetOrdinal("descFormaPago")), _
                                    dr.GetString(dr.GetOrdinal("nroDocumento")), _
                                    dr.GetInt32(dr.GetOrdinal("idEntidadFin")), _
                                    dr.GetString(dr.GetOrdinal("descEntidadFin")), _
                                    dr.GetInt32(dr.GetOrdinal("idCuenta")), _
                                    dr.GetString(dr.GetOrdinal("nroCuenta")), _
                                    dr.GetString(dr.GetOrdinal("vouchet")), _
                                    dr.GetString(dr.GetOrdinal("rutaScanner")), _
                                    dr.GetString(dr.GetOrdinal("observacion")), _
                                    dr.GetInt32(dr.GetOrdinal("estadoPago")), _
                                    dr.GetString(dr.GetOrdinal("descEstadoPago")))
                                cobranzas.Add(cobranza)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return cobranzas
    End Function
    '-------------------------------------'

    Public Shared Function EliminarDistribuir(ByVal descEmpresa As String, ByVal pSeparacionVentaDetallePagos As EseparacionVentaDetallePagos) As Boolean
        Dim resultado As Boolean = False

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_separacionVentaDetallePagos_delXDistribuir", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idEtapa
                cmd.Parameters.Add("@idSeparacionVenta", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idSeparacionVenta
                cmd.Parameters.Add("@idMotivo", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idMotivo
                cmd.Parameters.Add("@idUsuario", SqlDbType.Int).Value = pSeparacionVentaDetallePagos.idUsuario
                Try
                    cn.Open()
                    cmd.ExecuteNonQuery()
                    resultado = True
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return resultado
    End Function

#Region "           Metodos y Funciones Wilson                    "

    Public Shared Function ReporteIngresosDeposito2(ByVal descEmpresa As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetallePagos)

        Dim Cobranzas As List(Of EseparacionVentaDetallePagos) = Nothing
        Dim FechaIni As DateTime = Convert.ToDateTime(pSeparacionVenta.fchInicio)
        Dim FechaFin As DateTime = Convert.ToDateTime(pSeparacionVenta.fchFin)
        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_reporte_IngresosxDeposito_rpt", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                cmd.Parameters.Add("@fchInicio", SqlDbType.VarChar, 10).Value = pSeparacionVenta.fchInicio
                cmd.Parameters.Add("@fchFin", SqlDbType.VarChar, 10).Value = pSeparacionVenta.fchFin
                cmd.Parameters.Add("@idVendedor", SqlDbType.NVarChar, 10).Value = pSeparacionVenta.idVendedor
                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            Cobranzas = New List(Of EseparacionVentaDetallePagos)
                            Dim Deposito As EseparacionVentaDetallePagos = Nothing 'tipo 
                            Do While dr.Read


                                Deposito = New EseparacionVentaDetallePagos( _
                                   dr.GetString(dr.GetOrdinal("fchCancelacion")), _
                                   dr.GetString(dr.GetOrdinal("fchVencimiento")), _
                                   dr.GetString(dr.GetOrdinal("Tipo_Cuota")), _
                                   dr.GetInt32(dr.GetOrdinal("correlativo")), _
                                   dr.GetString(dr.GetOrdinal("Monto_Pago")), _
                                   dr.GetString(dr.GetOrdinal("descFormaPago")), _
                                   dr.GetString(dr.GetOrdinal("vouchet")), _
                                   dr.GetString(dr.GetOrdinal("nroDocumento")), _
                                   dr.GetString(dr.GetOrdinal("Estado_Pago")), _
                                   dr.GetString(dr.GetOrdinal("cliente")), _
                                   dr.GetString(dr.GetOrdinal("DNI")), _
                                   dr.GetString(dr.GetOrdinal("cliente_DNI")), _
                                   dr.GetString(dr.GetOrdinal("Inmuebles")), _
                                   dr.GetString(dr.GetOrdinal("Proyecto")), _
                                   dr.GetString(dr.GetOrdinal("Etapa")), _
                                   dr.GetString(dr.GetOrdinal("Proyecto_Etapa")), _
                                   dr.GetString(dr.GetOrdinal("TotaL_Couta_Ini")), _
                                   dr.GetString(dr.GetOrdinal("TotaL_Financionamiento")), _
                                   dr.GetString(dr.GetOrdinal("vendedor")), _
                                   dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")), _
                                   dr.GetDecimal(dr.GetOrdinal("Total_Separacion")))
                                Cobranzas.Add(Deposito)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return Cobranzas
    End Function

    Public Shared Function ReportePendientesPagos2(ByVal descEmpresa As String, ByVal descPago As String, ByVal pSeparacionVenta As EseparacionVenta) As List(Of EseparacionVentaDetallePagos)

        Dim Cobranzas As List(Of EseparacionVentaDetallePagos) = Nothing
        Dim FechaIni As DateTime = Convert.ToDateTime(pSeparacionVenta.fchInicio)
        Dim FechaFin As DateTime = Convert.ToDateTime(pSeparacionVenta.fchFin)

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_reporte_pendientePagos_rpt", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@idProyecto", SqlDbType.Int).Value = pSeparacionVenta.idProyecto
                cmd.Parameters.Add("@idEtapa", SqlDbType.Int).Value = pSeparacionVenta.idEtapa
                cmd.Parameters.Add("@fchInicio", SqlDbType.VarChar, 10).Value = pSeparacionVenta.fchInicio
                cmd.Parameters.Add("@fchFin", SqlDbType.VarChar, 10).Value = pSeparacionVenta.fchFin
                cmd.Parameters.Add("@idVendedor", SqlDbType.NVarChar, 10).Value = pSeparacionVenta.idVendedor
                cmd.Parameters.Add("@tpoGestion", SqlDbType.NVarChar, 10).Value = pSeparacionVenta.tpoGestion
                cmd.Parameters.Add("@Pago", SqlDbType.NVarChar, 50).Value = descPago.ToUpper().Trim()

                Try
                    cn.Open()
                    Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.CloseConnection)
                        If dr.HasRows Then
                            Cobranzas = New List(Of EseparacionVentaDetallePagos)
                            Dim Deposito As EseparacionVentaDetallePagos = Nothing 'tipo 
                            Do While dr.Read


                                Deposito = New EseparacionVentaDetallePagos( _
                                   dr.GetString(dr.GetOrdinal("fchVencimiento")), _
                                   dr.GetString(dr.GetOrdinal("Pago")), _
                                   dr.GetString(dr.GetOrdinal("Gestion")), _
                                   dr.GetString(dr.GetOrdinal("Tipo_Cuota")), _
                                   dr.GetInt32(dr.GetOrdinal("correlativo")), _
                                   dr.GetString(dr.GetOrdinal("Monto_Pago")), _
                                   dr.GetString(dr.GetOrdinal("cliente")), _
                                   dr.GetString(dr.GetOrdinal("DNI")), _
                                   dr.GetString(dr.GetOrdinal("cliente_DNI")), _
                                   dr.GetString(dr.GetOrdinal("Telefonos")), _
                                   dr.GetString(dr.GetOrdinal("Inmuebles")), _
                                   dr.GetString(dr.GetOrdinal("Proyecto")), _
                                   dr.GetString(dr.GetOrdinal("Etapa")), _
                                   dr.GetString(dr.GetOrdinal("Proyecto_Etapa")), _
                                   dr.GetString(dr.GetOrdinal("TotaL_Couta_Ini")), _
                                   dr.GetString(dr.GetOrdinal("TotaL_Financionamiento")), _
                                   dr.GetString(dr.GetOrdinal("vendedor")), _
                                   dr.GetInt32(dr.GetOrdinal("idSeparacionVenta")))
                                Cobranzas.Add(Deposito)
                            Loop
                            dr.Close()
                        End If
                    End Using
                Catch ex As Exception
                    Throw
                End Try
            End Using
        End Using

        Return Cobranzas
    End Function
#End Region


End Class
